Timm Bäder [Fri, 1 Dec 2017 07:04:31 +0000 (08:04 +0100)]
snapashot: Optimize rounded clip nodes
If the rounded clip node is rectilinear, we can simplify it to a normal
clip node. If not, we really need to use a rounded clip node. In both
cases, we can do the same check we do when collecting normal clips and
avoid the clip node altogether if the child node does not get clipped
anyway.
This saves between 3 and 10 nodes in the widget factory, depending on
what page gets rendered.
Timm Bäder [Fri, 1 Dec 2017 06:38:43 +0000 (07:38 +0100)]
snapshot: Only create clip nodes if we need to
Clip nodes have a clip rect and we only need to actually create a clip
node if any child node gets clipped at all. If the clip rect conains the
child node bounds entirely, we don't need a clip node.
Timm Bäder [Fri, 24 Nov 2017 11:50:47 +0000 (12:50 +0100)]
widgetbowl: Only use one widget type
Every added widget having a separate random widget type makes it useless
to use the widgetbowl demo for any sort of performance comparison.
Instead. use only one widget type for all the moving children but make
that changable.
Timm Bäder [Fri, 17 Nov 2017 19:07:18 +0000 (20:07 +0100)]
wayland: Never send NULL app id
The old gdk_get_program_class was never returning NULL, but
g_get_prgname might. So use the same fallback app id name we were using
before.
Timm Bäder [Fri, 17 Nov 2017 19:32:11 +0000 (20:32 +0100)]
GskVulkanGlyphCache: Remove unused struct member
Timm Bäder [Sun, 19 Nov 2017 17:55:32 +0000 (18:55 +0100)]
window: Plug a memory leak
Matthias Clasen [Thu, 30 Nov 2017 23:46:54 +0000 (18:46 -0500)]
Drop unused gtkcssstylefuncs.c
Clean up all the places where the header was still
included needlessly.
Matthias Clasen [Thu, 30 Nov 2017 22:40:41 +0000 (17:40 -0500)]
css style funcs: Avoid pixbufs
We can get what we need with GdkTexture.
Matthias Clasen [Thu, 30 Nov 2017 22:32:05 +0000 (17:32 -0500)]
Avoid GdkPixbuf in docs
GdkTexture is preferred now.
Matthias Clasen [Thu, 30 Nov 2017 22:31:17 +0000 (17:31 -0500)]
icon helper: Avoid gratitious pixbuf use
We can just get the texture directly from the icontheme.
Matthias Clasen [Thu, 30 Nov 2017 21:39:14 +0000 (16:39 -0500)]
mountoperation: Store icons as textures
This reduces the amount of pixbufs in this code.
Alexander Larsson [Thu, 30 Nov 2017 16:50:46 +0000 (17:50 +0100)]
broadway: Add some (disabled) debugging tools
Alexander Larsson [Thu, 30 Nov 2017 16:32:01 +0000 (17:32 +0100)]
broadway: Don't send node updates to browser if nothing changed
Alexander Larsson [Thu, 30 Nov 2017 16:30:27 +0000 (17:30 +0100)]
broadway: Fix texture hash function
Alexander Larsson [Thu, 30 Nov 2017 14:31:46 +0000 (15:31 +0100)]
gtksnapshot: Merge trivial clip duplicates
I got a lot of "clip in clip" cases, for example a CellClip with a
CellTextClip inside. It is really trivial to merge these when we
pop and makes it easier for all backends, so lets do that.
Alexander Larsson [Thu, 30 Nov 2017 13:48:15 +0000 (14:48 +0100)]
vulkan: Don't crash if vkEnumeratePhysicalDevices fails
Alexander Larsson [Thu, 30 Nov 2017 13:47:08 +0000 (14:47 +0100)]
broadway: Improve logging
We now log backwards, so that the latest is always visible.
Also, we use <pre> with a smaller size.
Alexander Larsson [Thu, 30 Nov 2017 09:36:30 +0000 (10:36 +0100)]
broadway: Send diffs of node trees
Reusing pre-created nodes is a lot faster both in terms of
dom modifications and of transfer sizes.
Alexander Larsson [Wed, 29 Nov 2017 19:05:36 +0000 (20:05 +0100)]
broadway: Add broadway_node_equal
Alexander Larsson [Wed, 29 Nov 2017 19:05:02 +0000 (20:05 +0100)]
broadway: Prepare for implementing diff
Alexander Larsson [Wed, 29 Nov 2017 18:31:54 +0000 (19:31 +0100)]
broadway: Add div for container nodes
We need this so that all nodes have divs, otherwise diffing is going
to be very hard.
Alexander Larsson [Wed, 29 Nov 2017 18:08:37 +0000 (19:08 +0100)]
broadway: Deserialize node tree in server
This doesn't really change anything, but it is in preparation for diffing
the trees.
Alexander Larsson [Wed, 29 Nov 2017 17:16:24 +0000 (18:16 +0100)]
broadway: Add a texture cache
This ensures we never upload a texture we already have locally available.
Alexander Larsson [Wed, 29 Nov 2017 17:11:45 +0000 (18:11 +0100)]
broadway: Re-add seat and core device creation
Piotr Drąg [Thu, 30 Nov 2017 15:10:50 +0000 (16:10 +0100)]
Update POTFILES.in
Matthias Clasen [Thu, 30 Nov 2017 12:54:52 +0000 (07:54 -0500)]
Use the new texture utils here
One less place where we juggle pixbufs.
Matthias Clasen [Thu, 30 Nov 2017 12:54:27 +0000 (07:54 -0500)]
Make texture variants of some pixbuf utils
This will let us avoid direct pixbuf use in some places.
Matthias Clasen [Thu, 30 Nov 2017 12:03:20 +0000 (07:03 -0500)]
recent manager: Drop an unused field
Matthias Clasen [Thu, 30 Nov 2017 04:35:45 +0000 (23:35 -0500)]
Fix up a doc comment
Matthias Clasen [Thu, 30 Nov 2017 04:34:58 +0000 (23:34 -0500)]
Remove some unused includes
These show up in a grep for "pixbuf".
Matthias Clasen [Thu, 30 Nov 2017 04:30:47 +0000 (23:30 -0500)]
Use a texture instead of a pixbuf in gtk_render_icon
This gets rid of more GdkPixbuf in the API.
Update all callers.
Matthias Clasen [Thu, 30 Nov 2017 04:22:13 +0000 (23:22 -0500)]
textview: Replace pixbufs by textures
This affects a few apis, such as gtk_text_iter_get_pixbuf,
gtk_text_buffer_insert_pixbuf and GtkTextBuffer::insert-pixbuf,
which have all been replaced by texture equivalents.
Update all callers.
Benjamin Otte [Mon, 27 Nov 2017 03:17:36 +0000 (04:17 +0100)]
textview: Remove serialization API
It's unused. Plain text is not using that framework, neither is
in-process same-display transmission.
So it was only useful for sharing text with custom tags across
applications, and nobody is doing that.
Benjamin Otte [Mon, 27 Nov 2017 01:15:53 +0000 (02:15 +0100)]
a11y: Remove AtkStreamableContent implementation
That is some old code that still uses IOChannels, and the only
pseudouser is at-spi-atk's commented out code that is still using
CORBA types.
So get rid of it now before I need to start adapting it to the new
clipboard.
Matthias Clasen [Thu, 30 Nov 2017 03:25:57 +0000 (22:25 -0500)]
icon theme: Remove unused code
The deprecated api to add builtin icons was removed
a year ago, so we don't need the code anymore that deals
with looking up builtin icons.
Matthias Clasen [Thu, 30 Nov 2017 03:17:59 +0000 (22:17 -0500)]
tooltip: Set icon from texture instead of pixbuf
Another part of removing GdkPixbuf from APIs.
Matthias Clasen [Thu, 30 Nov 2017 01:26:28 +0000 (20:26 -0500)]
Drop gtk_cell_view_new_with_pixbuf
We have a texture-based alternative for this now.
Matthias Clasen [Thu, 30 Nov 2017 01:16:43 +0000 (20:16 -0500)]
Drop gdk_cursor_new_from_pixbuf
Part of the push to remove GdkPixbuf from the API.
Matthias Clasen [Thu, 30 Nov 2017 01:14:53 +0000 (20:14 -0500)]
docs: Remove mentions of gdk_cursor_new_from_pixbuf
This function is going away.
Matthias Clasen [Thu, 30 Nov 2017 01:13:26 +0000 (20:13 -0500)]
dnd: Stop using gdk_cursor_new_from_pixbuf
We can just use gdk_cursor_new_from_texture here.
Matthias Clasen [Thu, 30 Nov 2017 01:12:43 +0000 (20:12 -0500)]
Fix the build
Matthias Clasen [Thu, 30 Nov 2017 01:02:47 +0000 (20:02 -0500)]
Drop gtk_drag_source_set_icon_pixbuf
Part of removing GdkPixbuf from the API.
Matthias Clasen [Thu, 30 Nov 2017 01:02:01 +0000 (20:02 -0500)]
testdnd: Stop using gtk_drag_source_set_icon_pixbuf
We can avoid it here as well.
Matthias Clasen [Thu, 30 Nov 2017 01:01:32 +0000 (20:01 -0500)]
icon-browser: Stop using gtk_drag_source_set_icon_pixbuf
We can just use gtk_drag_source_set_icon_name.
Matthias Clasen [Thu, 30 Nov 2017 00:47:57 +0000 (19:47 -0500)]
Drop gtk_css_image_surface_new_for_pixbuf
It is unused private api.
Matthias Clasen [Thu, 30 Nov 2017 00:44:30 +0000 (19:44 -0500)]
Avoid pixbufs when loading themed icons
We can directly get a texture from GtkIconTheme now.
Matthias Clasen [Thu, 30 Nov 2017 00:28:53 +0000 (19:28 -0500)]
Add gtk_cell_view_new_with_texture
Just more api to replace pixbufs with textures.
Matthias Clasen [Wed, 29 Nov 2017 23:34:45 +0000 (18:34 -0500)]
Drop gtk_snapshot_render_icon
Its not used, and we are working towards removing
GdkPixbuf in the API.
Matthias Clasen [Wed, 29 Nov 2017 22:23:56 +0000 (17:23 -0500)]
window: Stop using GdkPixbuf
We can get by with just using GdkTexture.
Matthias Clasen [Wed, 29 Nov 2017 22:06:15 +0000 (17:06 -0500)]
Cosmetic formatting fixes
Christophe Fergeau [Wed, 29 Nov 2017 11:15:30 +0000 (12:15 +0100)]
wayland: Fix indentation of previous commit
Christophe Fergeau [Tue, 28 Nov 2017 16:44:06 +0000 (17:44 +0100)]
wayland: emit GDK_SELECTION_CLEAR on owner changes
The wayland backend currently never emits GDK_SELECTION_CLEAR events.
GtkClipboard uses this signal in order to clear the clipboard owner when
the selection is set to something outside the application.
This commit ensures the wayland backend emits GDK_SELECTION_CLEAR before
setting the clipboard owner to NULL, as this means we lost the
selection.
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
https://bugzilla.gnome.org/show_bug.cgi?id=790031
Christophe Fergeau [Tue, 28 Nov 2017 16:43:24 +0000 (17:43 +0100)]
wayland: Remove unused data structure
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
https://bugzilla.gnome.org/show_bug.cgi?id=790031
Matthias Clasen [Wed, 29 Nov 2017 04:02:58 +0000 (23:02 -0500)]
Drop gtk_application_is_inhibited
This function returns global session state that may
not be available to applications (e.g. in sandboxed
environments), and is not needed by applications,
so just drop it, instead of keeping a function around
that can't be guaranteed to work.
Matthias Clasen [Wed, 29 Nov 2017 03:52:44 +0000 (22:52 -0500)]
Improve the docs
Document that gtk_application_is_inhibited can't
be guaranteed to work.
Benjamin Otte [Wed, 29 Nov 2017 03:02:24 +0000 (04:02 +0100)]
inspector: Reorganize stack
There are too many stack elements in the main stack. So add a substack
for the pages that display common global state. The appropriate name I
found for it was "Global".
It's used to house the General, Visual, Resources and Statistics pages
for now.
Benjamin Otte [Wed, 29 Nov 2017 02:25:58 +0000 (03:25 +0100)]
inspector: remove visible=TRUE properties
This is the defualt these days.
Matthias Clasen [Tue, 28 Nov 2017 20:03:15 +0000 (15:03 -0500)]
gdk: Add some missing autocleanups
GdkMonitor and GdkSeat were missing here.
Rico Tzschichholz [Tue, 28 Nov 2017 14:20:14 +0000 (15:20 +0100)]
Fix some parameter name mismatches to make g-ir-scanner happier
Carlos Garnacho [Mon, 27 Nov 2017 20:24:54 +0000 (21:24 +0100)]
gdkseatdefault: Use TABLET_STYLUS capability for styli/erasers/cursors
Those are devices created for drawing tablets, so using the "pointer"
capability is far too generic.
Carlos Garnacho [Mon, 27 Nov 2017 18:51:38 +0000 (19:51 +0100)]
gdk/wayland: Emit GdkSeat::device-added/removed
Those were never sent in this backend...
Matthias Clasen [Mon, 27 Nov 2017 17:34:08 +0000 (12:34 -0500)]
Fix up _gtk_widget_list_devices
When I rewrote that function to not use GdkDeviceManager,
I overlooked that the window filtering needs to apply
to the master pointer as well, as other code assumes
that _gtk_widget_get_device_window will return non-NULL
on the devices in the list. Fix this.
Matthias Clasen [Mon, 27 Nov 2017 15:55:32 +0000 (10:55 -0500)]
Fix a typo
The signal is called ::unpaired-release.
Милош Поповић [Mon, 27 Nov 2017 10:38:07 +0000 (10:38 +0000)]
Update Serbian translation
Matthias Clasen [Mon, 27 Nov 2017 00:52:01 +0000 (19:52 -0500)]
listbox: Handle unpaired releases as well
Same as for flowbox in the previous commit.
Carlos Garnacho [Tue, 21 Nov 2017 21:35:31 +0000 (22:35 +0100)]
gtkflowbox: Activate items on ::unpaired-release
If the flowbox is single-click.
https://bugzilla.gnome.org/show_bug.cgi?id=789163
Carlos Garnacho [Tue, 21 Nov 2017 19:14:52 +0000 (20:14 +0100)]
gtkgesturemultipress: Add ::unpaired-release signal
This signal will be emitted whenever the gesture received a
button release or touch end event without a pairing button
press or touch begin. This usually happens when grabs transfer
input from one widget to another mid-press.
https://bugzilla.gnome.org/show_bug.cgi?id=789163
Matthias Clasen [Mon, 27 Nov 2017 00:40:28 +0000 (19:40 -0500)]
wayland: Don't provide gsetting if dconf is not available
This makes gtk+ fall back to reading ~/.config/gtk-3.0/settings.ini
on systems with Wayland, but without dconf (do those exist?).
https://bugzilla.gnome.org/show_bug.cgi?id=790201
Kjell Ahlstedt [Mon, 13 Nov 2017 11:48:57 +0000 (12:48 +0100)]
GtkWindow: Fix the down-scaling in icon_from_list()
Must use floating-point division to get the correct scale factors.
cairo_set_source_surface() must be called after cairo_scale().
https://bugzilla.gnome.org/show_bug.cgi?id=790287
Piotr Drąg [Sat, 25 Nov 2017 16:32:53 +0000 (17:32 +0100)]
Update POTFILES.in
Matthias Clasen [Sat, 25 Nov 2017 13:12:48 +0000 (08:12 -0500)]
wayland: Drop GdkWaylandDeviceManager
This object had no functionality left.
Matthias Clasen [Sat, 25 Nov 2017 13:25:15 +0000 (08:25 -0500)]
Drop GdkDeviceManager entirely
Nothing uses it anymore.
Matthias Clasen [Sat, 25 Nov 2017 13:24:17 +0000 (08:24 -0500)]
Drop the ::device-manager property
Not used for anything anymore.
Matthias Clasen [Sat, 25 Nov 2017 13:23:25 +0000 (08:23 -0500)]
x11: Stop deriving from GdkDeviceManager
We can just derive from GObject.
Matthias Clasen [Sat, 25 Nov 2017 13:22:12 +0000 (08:22 -0500)]
wayland: Stop deriving from GdkDeviceManager
We can just derive from GObject.
Matthias Clasen [Sat, 25 Nov 2017 13:21:37 +0000 (08:21 -0500)]
win32: Stop deriving from GdkDeviceManager
We can just derive from GObject.
Matthias Clasen [Sat, 25 Nov 2017 13:20:57 +0000 (08:20 -0500)]
quartz: Stop deriving from GdkDeviceManager
We can just derive from GObject.
Matthias Clasen [Sat, 25 Nov 2017 04:00:40 +0000 (23:00 -0500)]
Drop the GdkDeviceManager::display property
Move this to the backends, and stop deriving
from GdkDeviceManager.
Matthias Clasen [Sat, 25 Nov 2017 03:33:12 +0000 (22:33 -0500)]
Remove the get_client_pointer vfunc
Matthias Clasen [Sat, 25 Nov 2017 02:26:20 +0000 (21:26 -0500)]
Drop the get_client_pointer vfunc
There is no api using this anymore.
Matthias Clasen [Sat, 25 Nov 2017 02:20:52 +0000 (21:20 -0500)]
Drop the list_devices vfunc
We no longer have api that uses this.
Matthias Clasen [Sat, 25 Nov 2017 02:08:40 +0000 (21:08 -0500)]
Drop gdk_device_manager_list_devices
It is not used and GdkDeviceManager is going away.
Matthias Clasen [Sat, 25 Nov 2017 01:51:19 +0000 (20:51 -0500)]
gdk: Drop devicemanager signals
Nobody is emitting them anymore.
Matthias Clasen [Sat, 25 Nov 2017 01:42:09 +0000 (20:42 -0500)]
wayland: Stop emitting devicemanager signals
Nobody is listening to these signals anymore.
Matthias Clasen [Sat, 25 Nov 2017 01:38:47 +0000 (20:38 -0500)]
x11: Stop emitting devicemanager signals
Nobody is listening to these anymore, so there
is no point in emitting them.
Matthias Clasen [Fri, 24 Nov 2017 17:19:35 +0000 (12:19 -0500)]
display: Drop the device_manager for good
This is now entirely the backends responsibility.
Matthias Clasen [Fri, 24 Nov 2017 17:25:49 +0000 (12:25 -0500)]
wayland: Stop using display->device_manager
We can keep the device manager in the backend.
Matthias Clasen [Fri, 24 Nov 2017 17:03:36 +0000 (12:03 -0500)]
quartz: Stop using display->device_manager
We can keep the device manager in the backend.
Matthias Clasen [Fri, 24 Nov 2017 16:56:42 +0000 (11:56 -0500)]
win32: Stop using gdk_display_get_device_manager
We can keep the devicemanager in the backend.
Matthias Clasen [Fri, 24 Nov 2017 14:14:17 +0000 (09:14 -0500)]
x11: Stop using gdk_display_get_device_manager
We can keep the displaymanager in the backend.
Matthias Clasen [Fri, 24 Nov 2017 03:20:50 +0000 (22:20 -0500)]
broadway: Remove devicemanager implementation
It is not used and not needed anymore.
Matthias Clasen [Fri, 24 Nov 2017 03:17:30 +0000 (22:17 -0500)]
broadway: Stop using GdkDeviceManager
We can use the GdkSeat apis for this.
Matthias Clasen [Fri, 24 Nov 2017 16:31:18 +0000 (11:31 -0500)]
display: Stop using devicemanager internally
We can just use the seats to find out about device removals.
Matthias Clasen [Thu, 23 Nov 2017 21:28:00 +0000 (16:28 -0500)]
Drop GdkDeviceManager APIs
No longer used outside of the backends.
Matthias Clasen [Thu, 23 Nov 2017 21:23:41 +0000 (16:23 -0500)]
Don't mention GdkDeviceManager in docs
It is going away.
Matthias Clasen [Thu, 23 Nov 2017 21:21:37 +0000 (16:21 -0500)]
Drop support for setting event masks for floating devices
These are very rarely needed, and are X11-specific.
If it turns out that somebody needs this, it can come
back as X11-specific functionality.
Matthias Clasen [Thu, 23 Nov 2017 21:11:48 +0000 (16:11 -0500)]
gdk: Move gdk_disable_multidevice tot he X11 backend
This api only ever did something for X11, so move
it there. Update the docs and adapt the only caller.
Matthias Clasen [Thu, 23 Nov 2017 20:43:52 +0000 (15:43 -0500)]
Drop gdk_display_get_device_manager API
GdkDeviceManager is being replaced by GdkSeat.
Matthias Clasen [Thu, 23 Nov 2017 20:40:12 +0000 (15:40 -0500)]
treeview: Don't use GdkDeviceManager
We can just as well use GdkSeat to enumerate (attached)
devices. Note that this change excludes floating devices
from consideration.
This keeps the copy-pasted code in sync with gtkwindow.c
Matthias Clasen [Thu, 23 Nov 2017 20:39:19 +0000 (15:39 -0500)]
window: Don't use GdkDeviceManager
We can just as well use GdkSeat to enumerate (attached)
devices. Note that this change excludes floating devices
from consideration.